#ifndef CORE_BOX_H
#define CORE_BOX_H
#include "Hitable.h"
#include "HitableList.h"
namespace RayTracer
{
	class Box : public Hitable
	{
	public:
		Box() { }
		Box(const vec3& p0, const vec3& p1, std::shared_ptr<Material> mat);

		bool Hit(const Ray& r, float t_min, float t_max, HitRecord& rec) const;
		bool BoundingBox(AABB& output_box) const;
	public:
		
	private:
		vec3 box_min;
		vec3 box_max;
		HitableList sides;
	};
}
#endif // !CORE_BOX_H
